1. Field of the Invention
The present invention relates to a network emulating a local network including an ATM-LAN (Asynchronous Transfer Mode Local Area Network), and relates, more particularly, to a communication cache management device including an MPOA (Multi Protocol Over ATM) cache management device that uses MPOA for efficiently transmitting LAN data within an ATM network, and a method for providing this communication cache management device.
2. Description of Related Art
In recent years, the development and introduction of an ATM network in the form of a backbone for multi-media application has progressed. In an ATM network, ATM transmission technologies are widely used for communicating LAN data, as represented by an Internet backbone, as well as for the communication of synchronous voice and images. Particularly, along with an extreme increase in the processing capacity of terminals, there has been desired a further increase in the transmission speed of the LAN data communication to allow application of the LAN over a wider range.
In the present invention, MPOA (Multi Protocol Over ATM) is used as a technique for achieving an efficient transfer of LAN traffic within the ATM network. According to MPOA, a physical ATM network is divided into a plurality of logical sub-networks, and a LAN emulation (ELAN (Emulated LAN)) is used in these sub-networks. For communications between ELANs that require routers, an MPOA connection resolution procedure is executed. Further, in order to resolve an ATM address of a destination ATM device, NHRP (Next Hop Resolution Protocol) and the like are used.
Based on the address information of a destination ATM device obtained by the address resolution, both transmitter and receiver ATM devices are directly connected together by a communication connection (shortcut) between ATM layers. As a result, it is possible to achieve a high-speed data transmission between ELANs without depending on the processing capacity of routers.
In MPOA, the communication connection obtained based on the address resolution is managed by caches. Specifically, as explained later, a cache is used at each position of an MPOA client (MPC: Multi Protocol Client) and an MPOA server (MPS: Multi Protocol Server) at a data entrance side (hereinafter to be referred to as an ingress) respectively and an MPC and an MPS at a data exit side (hereinafter to be referred to as an egress) respectively. For example, for achieving communications with the same destination ATM device, an ingress MPC can directly establish a connection with this ATM device over ELANs by referring to a cache inside the ingress MPC.
As methods for managing the caches, the specification of the MPOA (ATM Forum: AF-MPOA-0011) describes the following two methods. According to one method, a connection is disconnected at the same time when the time has run out (a method 1). According to another method, a connection is refreshed again after a lapse of two-thirds of a time-out period (a method 2). The contents of a cache are updated periodically in this way, and an unnecessary connection is abandoned at the same time.
FIG. 1A and FIG. 1B show one example of a conventional method of managing a cache.
FIG. 1A shows one example of the above method 1. At the time when a shortcut has been set to a cache, a timer (an aging timer) corresponding to this registered shortcut starts. This aging timer times out after a lapse of this aging time. As a result, the data on the registered shortcut is deleted from the cache. Then, a shortcut route for communication is disconnected and returned to a default side via the router.
FIG. 1B shows one example of the above method 2. At a point of time when two-thirds of an aging time has passed after an aging timer corresponding to a registered shortcut started, a cache refresh signal for a Timer Re-start is given. As a result, the cache-registered contents are automatically updated and maintained as far as there has been no change in the registered contents. At the same time, the aging timer is initialized and the timer starts counting the aging time again.
The above-described MPOA cache management methods, however, have the following problems. According to the method 1, when a time-out has occurred during a communication of the shortcut using a cache, the communication that uses a shortcut route is forcibly disconnected and returned to a default route via the router. As a result, a default communication starts which cannot sufficiently achieve the high-speed communication of the MPOA. This involves an occurrence of a sudden poor response in the middle of the communication.
On the other hand, according to the method 2, a communication connection once registered in a cache is refreshed periodically regardless of the presence or absence of communication thereafter. Therefore, this registration is maintained forever thereafter as long as there has been no change or release in the registered terminal. As a result, the number of caches that are not necessary increases in time. This makes it impossible to effectively utilize these caches. In the worst case, it is not possible to register a necessary shortcut.
In the light of the above problems, it is, therefore, an object of the present invention to provide a communication cache management device capable of achieving a highly efficient and high-speed communication based on the intrinsic characteristics of the communication, through more intelligent management of caches.
In order to meet the above object, according to one aspect of the present invention, there is provided a communication cache management device at an ingress communication client side, the communication cache management device comprising: a communication message processor that processes a communication message; a cache manager that manages an ingress cache based on a cache memory and an aging timer; and a flow monitor that monitors a data flow transmitted to an ingress communication server and that detects the data flow exceeding a predetermined threshold value within a predetermined flow monitoring period before a time-out of the aging timer after a shortcut has been set, wherein, upon reception from the flow monitor of a notice of a detection of a data flow exceeding the predetermined threshold value, the communication message processor transmits a communication address resolution request message to the ingress communication server, and, based on the contents of a response message from the ingress communication server, updates the contents of the cache memory in the cache manager.
Further, according to another aspect of the invention, there is provided a communication cache management device at a communication server side, the communication cache management device comprising: a communication message processor that processes a communication message; and a cache manager that manages a cache based on a reception processor and a cache memory, wherein the reception processor manages the contents of the cache memory by classifying the contents of the cache memory into groups having specific conditions, and upon reception from an ingress communication client a request message that requests for a resolution of a communication address, accepts said request message if the message meets said conditions and abandons said request message if the message does not meet said conditions.
Further, according to still another aspect of the invention, there is provided a method of managing a communication cache at an ingress communication client side, the method comprising the steps of: monitoring a data flow transmitted to an ingress communication server within a predetermined time period before a time-out of an aging timer after a shortcut has been set; re-starting said aging timer when there has been detected the data flow exceeding a predetermined value; and timing out said aging timer when there has been detected no data flow exceeding the predetermined value.
Further, according to still another aspect of the invention, there is provided a method of managing a communication cache at an ingress communication client side according to the above aspect, the method further comprising the steps of: transmitting a communication address resolution request message to an ingress communication server when there has been detected the data flow exceeding a predetermined value; re-starting said aging timer when the contents of a response message to the request message permit a cache refresh; and timing out said aging timer when the contents of a response message to the request message do not permit a cache refresh.
Further, according to still another aspect of the invention, there is provided a method of managing a communication cache at a communication server side, the method comprising the steps of: processing a communication message by a communication processor; classifying the contents of a cache memory into groups having specific conditions; and, upon reception from an ingress communication client a request message that requests for a resolution of a communication address, accepting said request message if the message meets said conditions and abandoning said request message if the message does not meet said conditions.